# Zope imports
from zope.interface import implements

# Local imports
from interfaces import IRequestAwareTrackback

class TransientTrackback(object):

    implements(IRequestAwareTrackback)

    def __init__(self,
                 title=None,
                 url=None,
                 excerpt=None,
                 siteTitle=None,
                 pingedObject=None,
                 datetimeReceived=None,
                 userIP=None,
                 userAgent=None,
                 referrer=None,
                 ):
        self._title = title
        self._url = url
        self._excerpt = excerpt
        self._siteTitle = siteTitle
        self._pingedObject = pingedObject
        self._dateTimeReceived = datetimeReceived
        self._userIP = userIP
        self._userAgent = userAgent
        self._referrer = referrer

    def getTitle(self):
        """See ITrackback.
        """
        return self._title

    def getURL(self):
        """See ITrackback.
        """
        return self._url

    def getExcerpt(self):
        """See ITrackback.
        """
        return self._excerpt

    def getSiteTitle(self):
        """See ITrackback.
        """
        return self._siteTitle

    def getPingedObject(self):
        """See ITrackback.
        """
        return self._pingedObject

    def getDatetimeReceived(self):
        """See ITrackback.
        """
        return self._dateTimeReceived

    def getUserIP(self):
        """See ITrackback.
        """
        return self._userIP

    def getUserAgent(self):
        """See ITrackback.
        """
        return self._userAgent

    def getReferrer(self):
        """See ITrackback.
        """
        return self._referrer
